Mobile devices, for example cell phones, smart phones, tablet devices, and the like permit users the ability to utilize applications (apps) in order to carry out a variety of tasks. Applications have become vital to our ability to use mobile devices, so much so that each of the major app stores currently contain over 1.5 million applications. However, application designers are facing an ever growing ecosystem of devices. Not only are there multiple operating systems, but many operating systems have a variety of versions concurrently in operation. Additionally, the number of hardware device manufacturers appears to be growing continuously and the result is an overwhelming selection of devices and device platforms.
While this is a good thing for consumers, it creates a large problem for application developers who need to ensure that their application runs properly on as many devices as possible. Thus, developers must test their application across various devices on as many platforms as possible in order to ensure proper function. Due to of the large variety of devices and platforms, it is prohibitively expensive for a developer to purchase working examples of every possible combination. Thus, a need exists for a cost effective way to test mobile applications across as many devices as possible.